//
//  GXWBaseViewController.swift
//  swift3.0项目开始
//
//  Created by 龚昕炜 on 16/7/27.
//  Copyright © 2016年 龚昕炜. All rights reserved.
//

import UIKit

class GXWBaseViewController: UIViewController {
    
    /** 自定义导航条 */
    lazy var navigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: UIScreen.main().bounds.size.width, height: 64))
    
    /** 自定义条目(存放barbuttonItem的item) */
    lazy var navItem = UINavigationItem()
    
    /** tableView */
    var tableView: UITableView?

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }
    
    override var title: String? {
        didSet {
            navItem.title = title
        }
    }

}

extension GXWBaseViewController {
    
    /** 设置界面 */
    func setUpUI() {
        view.backgroundColor = randomColor()
        
        setUpNavigationBar()
        
        setUpTableView()
    }
    
    /** 设置表格视图 */
    private func setUpTableView() {
    
        tableView = UITableView(frame: view.bounds, style: .plain)
        
        view.addSubview(tableView!)
    }
    
    /** 设置导航条 */
    private func setUpNavigationBar() {
        
        /** 添加导航条 */
        view.addSubview(navigationBar)
        /** 将 item 设置给 bar */
        navigationBar.items = [navItem]
        /** 颜色(通过给导航条设置重色或者不透明可以解决来回拖动时的高亮渲染效果) */
        navigationBar.barTintColor = UIColor.init(colorLiteralRed: 245/255.0, green: 245/255.0, blue: 245/255.0, alpha: 1.0)
        /** 标题颜色 */
        navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.darkGray()]
    }
    
    // MARK - 产生随机色
    func randomColor() -> (UIColor) {
        
        let red = CGFloat(arc4random_uniform(256)) / 255.0
        let green = CGFloat(arc4random_uniform(256)) / 255.0
        let blue = CGFloat(arc4random_uniform(256)) / 255.0
        
        let color = UIColor.init(colorLiteralRed: Float(red), green: Float(green), blue: Float(blue), alpha: 1.0)
        
        return color;
    }
}
